package com.hissy.common.design.create.prototype;

/**
 * Created by zhangyanfei on 2019/4/9.
 *
 * @author zhangyanfei
 * @date 2019/04/09
 */
public class Propotype implements Cloneable {
    private int basic;

    private String quote;

    public Propotype clone() {
        Propotype prototype = null;
        try {
            // 浅copy 只能拷贝8大基本类型
            // 由于ArrayList不是基本类型，所以成员变量list，不会被拷贝，需要我们自己实现深拷贝，
            // 幸运的是java提供的大部分的容器类都实现了Cloneable接口。所以实现深拷贝并不是特别困难
            prototype = (Propotype)super.clone();
            prototype.quote = this.quote;

        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
        return prototype;
    }

}
